package com.talent.mapper;

import com.talent.pojo.entity.NoticeBanner;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 公告轮播Mapper接口
 */
@Mapper
public interface NoticeBannerMapper {

    /**
     * 获取所有轮播列表（按排序顺序）
     */
    List<NoticeBanner> selectAll();

    /**
     * 获取所有轮播列表（按排序顺序）
     */
    List<NoticeBanner> selectWechatAll();

    /**
     * 根据ID查询
     */
    NoticeBanner selectById(Long id);

    /**
     * 根据公告ID查询
     */
    NoticeBanner selectByNoticeId(Long noticeId);

    /**
     * 插入轮播公告
     */
    void insert(NoticeBanner noticeBanner);

    /**
     * 批量插入
     */
    void batchInsert(List<NoticeBanner> noticeBanners);

    /**
     * 根据ID删除
     */
    void deleteById(Long id);

    /**
     * 更新状态
     */
    void updateStatus(@Param("id") Long id, @Param("status") Integer status);

    /**
     * 更新排序
     */
    void updateSortOrder(@Param("id") Long id, @Param("sortOrder") Integer sortOrder);

    /**
     * 获取最大排序值
     */
    Integer selectMaxSortOrder();

    /**
     * 获取总数量
     */
    Integer count();
}
